package com.xd.core.business.service;

import com.github.pagehelper.Page;
import com.xd.core.bill.dto.OverduePolicyRefundQuery;
import com.xd.core.bill.vo.OverduePolicyRefundVo;
import com.xd.core.business.dto.EndorSementDto;
import com.xd.core.business.dto.GuaranteeQueryDto;
import com.xd.core.business.dto.GuaranteeReviewDto;
import com.xd.core.business.entity.GuaranteeSlip;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xd.core.business.vo.GuaranteePageVo;
import com.xd.core.business.vo.ReviewVo;

/**
 * <p>
 * 保单表 服务类
 * </p>
 *
 * @author ZX
 * @since 2025-06-20
 */
public interface IGuaranteeSlipService extends IService<GuaranteeSlip> {

    /***
     * @description 保单管理分页查询
     * @author Zch
     * @date 14:28 2025/6/20 星期五
     * @return com.github.pagehelper.Page<com.xd.core.business.vo.GuaranteePageVo>
     **/
    Page<GuaranteePageVo> getGuaranteeList(GuaranteeQueryDto dto);

    /***
     * @description 修改复核状态
     * @author Zch
     * @date 17:02 2025/6/20 星期五
     * @return void
     **/
    void guaranteeReview(GuaranteeReviewDto dto);

    /***
     * @description 复核数据回显
     * @author Zch
     * @date 17:28 2025/6/20 星期五
     * @return com.xd.core.business.vo.ReviewVo
     **/
    ReviewVo getReview(Integer guaranteeId);

    /***
     * @description 批单上传
     * @author Zch
     * @date 11:44 2025/6/23 星期一
     * @return void
     **/
    void uploadEndorSement(EndorSementDto dto);

    /***上传保单
     * @description
     * @author Zch
     * @date 15:06 2025/6/23 星期一
     * @return void
     **/
    void uploadSingle(EndorSementDto dto);

    /***
     * @description 退保列表分页查询
     * @author Zch
     * @date 10:09 2025/7/7 星期一
     * @return com.github.pagehelper.Page<com.xd.core.bill.vo.OverduePolicyRefundVo>
     **/
    Page<OverduePolicyRefundVo> getOverduePolicyRefundList(OverduePolicyRefundQuery query);
}
